#ifndef __KEY_H
#define __KEY_H

#ifdef __cplusplus
 extern "C" {
#endif

#include "stm32f1xx_hal.h"

// 硬件定义
#define KEY_GPIO_PORT          GPIOA
//#define KEY_MICRO_PIN          GPIO_PIN_1
#define KEY1_PIN               GPIO_PIN_5  
#define KEY2_PIN               GPIO_PIN_4

//外接按键位置PB11
#define KEY_MICRO_PORT         GPIOB 
#define KEY_MICRO_PIN          GPIO_PIN_11

#define KEYMicro_CLK_EN()       __HAL_RCC_GPIOB_CLK_ENABLE() 
// 消抖时间(ms)
#define KEY_DEBOUNCE_TIME      10

// 按键状态类型
typedef enum {
    KEY_RELEASED = 0,
    KEY_PRESSED = 1
} Key_State;

void KEY_Init(void);
Key_State KEY_GetState(uint16_t key_pin);

#ifdef __cplusplus
}
#endif

#endif /* __KEY_H */
